home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d26 / mathpack.arc / MPK.BAS (.txt) < prev    next >
Encoding:
GW-BASIC  |  1987-05-08  |  31.9 KB  |  988 lines

  1. 10  REM (C)1984 DAN DALAL
  2. 20  CLEAR
  3. 30  SCREEN 0,0,0
  4. 40  COLOR 7,0,0
  5. 50  WIDTH 80
  6. 60  FOR TIME = 0 TO 1000:NEXT TIME
  7. 70  CLEAN$ = STRING$(75,32)
  8. 80  CLS
  9. 90  GOSUB 7770
  10. 100  GOSUB 6810
  11. 110  COLOR 7,0
  12. 120  LOCATE 1,1,0
  13. 130  KEY OFF
  14. 140  GOSUB 1050
  15. 150  CLS
  16. 160  CLS
  17. 170  KEY OFF
  18. 180  REM PROGRAM WRITTEN BY DAN DALAL,HOUSTON, TEXAS.*********
  19. 190  REM REVISED NOVEMBER, 1983.
  20. 200  REM THIS PROGRAM IS WRITTEN IN ADVANCED BASIC(BASICA)
  21. 210  REM MAIN PROGRAM NOW BEGINS
  22. 220  REM this program uses the INKEY statements during the main menu
  23. 230  GOTO 440
  24. 240  REM HEADER SECTION*********************************
  25. 250  CLS
  26. 260  LOCATE 1,1,0
  27. 270  X$ = STRING$(56,205)
  28. 280  LOCATE 2,10:COLOR 15,0:PRINT X$
  29. 290  LOCATE 2,9:PRINT CHR$(201)
  30. 300  LOCATE 2,66:PRINT CHR$(187)
  31. 310  FOR A = 3 TO 22
  32. 320  LOCATE A,9:PRINT CHR$(186):LOCATE A,66:PRINT CHR$(186)
  33. 330  NEXT A
  34. 340  LOCATE 22,66:PRINT CHR$(188)
  35. 350  LOCATE 22,10:PRINT X$
  36. 360  LOCATE 22,9:PRINT CHR$(200)
  37. 400  COLOR 7,0,0
  38. 410  RETURN
  39. 420  LOCATE 10,31:PRINT "M A T H  P A K"
  40. 430  FOR T = 0 TO 100: T = T + 1:NEXT T
  41. 440  REM END OF HEADER SECTION**************************
  42. 450  FOR I = 31 TO 60:LOCATE 10,I:PRINT " ":NEXT I
  43. 460  FOR I = 45 TO 50:LOCATE 9,I:PRINT " ":NEXT I
  44. 470  FOR I = 31 TO 60:LOCATE 18,I:PRINT " ":NEXT I
  45. 480  FOR I = 28 TO 60:LOCATE 20,I:PRINT " ":NEXT I
  46. 490  GOSUB 240
  47. 500  KEY OFF
  48. 510  LOCATE 4,31:COLOR 15,0:PRINT "M A T H  P A K":COLOR 7,0
  49. 520  X$ = STRING$(56,223)
  50. 530  LOCATE 6,10:PRINT X$
  51. 540  LOCATE 19,10:PRINT X$
  52. 550  REM begin menu section*****************
  53. 560  DEF SEG = 0: POKE 1050, PEEK(1052)
  54. 570  F1 = 1
  55. 580  CT = 0
  56. 590  SCREEN 0,0,0:COLOR 7,0,0
  57. 600  WHILE F1
  58. 610  CT = CT + 1
  59. 620  IF CT > 40 THEN GOTO 630 ELSE 710
  60. 630  NOTE$ ="bcd":PLAY NOTE$
  61. 640  CLS
  62. 650  STP = 0
  63. 660  STP = STP + 5
  64. 670  TRY$ = INKEY$
  65. 680  IF TRY$ =CHR$(32) THEN GOTO 490
  66. 690  IF STP > 5000 THEN CLS:CLEAR:CHAIN"flow"
  67. 700  GOTO 660
  68. 710  GOSUB 4150
  69. 720  LOCATE 1,65:PRINT TIME$
  70. 730  LOCATE 7,28:COLOR 15,0,0:PRINT " M A I N   M E  N  U":COLOR 7,0,0
  71. 740  LOCATE 9,12:PRINT "A-ADDITION    B-OCTAL/HEX CONV.     C-TRIG. CONV."
  72. 750  LOCATE 11,12:PRINT"D-DIVISION    M-MULTIPLICATION      H-HELP"
  73. 760  LOCATE 13,12:PRINT"L-BIN CONV.":LOCATE 13,26:COLOR 0,7:PRINT "SP":COLOR 7,0:LOCATE 13,28:PRINT "-CL/START OVER      S-SUBTRACTION"
  74. 770  LOCATE 15,12:PRINT"Q-QD.FORM.    E-AREAS               F-FORM./CONV."
  75. 780  LOCATE 17,12:PRINT "Z-MET CONV.   G-GAME                I-DETERMINANTS"
  76. 781  LOCATE 18,35:PRINT "X-EXIT"
  77. 790  LOCATE 20,27:COLOR 15,0:PRINT CHR$(16):LOCATE 20,48:PRINT CHR$(17):COLOR 7,0
  78. 800  LOCATE 20,29:COLOR 15,0:PRINT "ENTER A LETTER...":COLOR 7,0:LOCATE 20,46:COLOR 31,0:PRINT CHR$(219):COLOR 7,0
  79. 810  LOCATE 20,51:AP$ = INKEY$:IF AP$ ="" THEN WEND:GOTO 820
  80. 820  A$ = AP$
  81. 830  BEEP
  82. 840  LOCATE 20,46:PRINT A$: FOR T = 0 TO 100:T = T + 1:NEXT T
  83. 850  IF A$ ="a" OR A$ ="A" THEN  LOCATE 9,12:COLOR 0,7:PRINT "A":COLOR 7,0:FOR T = 0 TO 500:NEXT T:GOSUB 7800: GOTO 1540
  84. 860  IF A$ ="b" OR A$ ="B" THEN LOCATE 9,26:COLOR 0,7:PRINT "B":COLOR 7,0:FOR T = 0 TO 500:NEXT T:GOSUB 7800: GOTO 2030
  85. 870  IF A$ ="c" OR A$ ="C" THEN LOCATE 9,48:COLOR 0,7:PRINT "C":COLOR 7,0:FOR T = 0 TO 500:NEXT T:GOSUB 7800: GOTO 3280
  86. 880  IF A$ ="D" OR A$ ="d" THEN LOCATE 11,12:COLOR 0,7:PRINT "D":COLOR 7,0:FOR T = 0 TO 500:NEXT T:GOSUB 7800:GOTO 4430
  87. 890  IF A$ ="E" OR A$ ="e" THEN LOCATE 15,26:COLOR 0,7:PRINT "E":COLOR 7,0:FOR T = 0 TO 500:NEXT T:GOSUB 7800: GOTO 6860
  88. 900  IF A$ ="m" OR A$ ="M" THEN LOCATE 11,26:COLOR 0,7:PRINT "M":COLOR 7,0:FOR T = 0 TO 500:NEXT T:GOSUB 7800:  GOTO 2270
  89. 910  IF A$ ="h" OR A$ ="H" THEN LOCATE 11,48:COLOR 0,7:PRINT "H":COLOR 7,0:FOR T = 0 TO 500:NEXT T: GOSUB 7800: GOTO 2650
  90. 920  IF A$ ="l" OR A$ ="L" THEN LOCATE 13,12:COLOR 0,7:PRINT "L":COLOR 7,0:FOR T = 0 TO 500:NEXT T:GOSUB 7800: GOTO 4640
  91. 930  IF A$ ="t" OR A$ ="T" THEN FOR A9 = 0 TO 250:LOCATE 21,35:PRINT TIME$:A9 = A9 + 1:NEXT A9:FOR U5 = 35 TO 60:LOCATE 21,U5:PRINT " ":NEXT U5:GOTO 770
  92. 940  IF A$ ="I" OR A$ ="i" THEN LOCATE 17,48:COLOR 0,7:PRINT "I":COLOR 7,0:FOR T = 0 TO 500:NEXT T: GOSUB 7800:CLS:CHAIN"DETER"
  93. 941  IF A$ ="X" OR A$ ="x" THEN LOCATE 18,35:COLOR 0,7:PRINT "X":COLOR 7,0:FOR T = 0 TO 500:NEXT T: GOSUB 7800:GOTO 1350
  94. 950  IF A$ ="S" OR A$ ="s" THEN LOCATE 13,48:COLOR 0,7:PRINT "S":COLOR 7,0:FOR T = 0 TO 500:NEXT T:GOSUB 7800: GOTO 2840
  95. 960  IF A$ ="Q" OR A$ ="q" THEN LOCATE 15,12:COLOR 0,7:PRINT "Q":COLOR 7,0:FOR T = 0 TO 500:NEXT T:GOSUB 7800: GOTO  6100
  96. 970  IF A$ ="F" OR A$ ="f" THEN LOCATE 15,48:COLOR 0,7:PRINT "F":COLOR 7,0:FOR T = 0 TO 500:NEXT T:GOSUB 7800:CHAIN"FORM"
  97. 980  IF A$ ="Z" OR A$ ="z" THEN LOCATE 17,12:COLOR 0,7:PRINT "Z":COLOR 7,0:FOR T = 0 TO 500:NEXT T:GOSUB 7800: GOTO 7830
  98. 990  IF A$ ="G" OR A$ ="g" THEN  LOCATE 17,26:COLOR 0,7:PRINT "G":COLOR 7,0:FOR T = 0 TO 500:NEXT T:CLS:CHAIN"GAME"
  99. 1000  IF A$ = CHR$(32) THEN  CLS:CLEAR:LOCATE 1,1,0:CHAIN"flow"
  100. 1010  GOTO 800
  101. 1020  FOR T = 0 TO 350:T = T + 1:NEXT T
  102. 1030  FOR R = 26 TO 50:LOCATE 21,R:PRINT " ":NEXT R
  103. 1040  GOTO 820
  104. 1050  REM section will display begining of program**************
  105. 1060  DEF SEG = 0: POKE 1050, PEEK(1052)
  106. 1070  COLOR 15,0,0
  107. 1080  FOR A = 1 TO 35:LOCATE 12,A:PRINT "M":FOR T = 0 TO 100:NEXT T:LOCATE 12,A:PRINT " ":NEXT A
  108. 1090  LOCATE 12,35:PRINT "M":FOR A = 1 TO 12:LOCATE A,37:PRINT "A":FOR T = 0 TO 100:NEXT T:LOCATE A,37:PRINT " ":NEXT A:LOCATE 12,35:PRINT "M":LOCATE 12,37:PRINT "A"
  109. 1100  FOR A = 1 TO 34:LOCATE 12,A:PRINT " ":NEXT A:LOCATE 12,36:PRINT " "
  110. 1110  FOR A = 23 TO 12 STEP -1:LOCATE A,39:PRINT "T":FOR T = 0 TO 100:NEXT T:LOCATE A,39:PRINT " ":NEXT A:LOCATE 12,35:PRINT "M":LOCATE 12,37:PRINT "A":LOCATE 12,39:PRINT "T"
  111. 1120  FOR V = 1 TO 34:LOCATE 12,V:PRINT "H":FOR T = 0 TO 100:NEXT T:LOCATE 12,V:PRINT " ":NEXT V:LOCATE 12,35:PRINT "M":LOCATE 12,37:PRINT "A":LOCATE 12,39:PRINT "T"
  112. 1130  FOR V = 34 TO 41:LOCATE 11,V:PRINT "H":FOR T = 0 TO 100:NEXT T:LOCATE 11,V:PRINT " ":NEXT V:LOCATE 12,41:PRINT "H"
  113. 1140  FOR J = 1 TO 12:LOCATE J,45:PRINT "P":FOR T = 0 TO 100:NEXT T:LOCATE J,45:PRINT " ":NEXT J:LOCATE 12,45:PRINT "P":LOCATE 12,35:PRINT "M":LOCATE 12,37:PRINT "A":LOCATE 12,39:PRINT "T":LOCATE 12,41:PRINT "H"
  114. 1150  FOR J = 23 TO 12 STEP -1:LOCATE J,47:PRINT "A":FOR T = 0 TO 100:NEXT T:LOCATE J,47:PRINT " ":NEXT J:LOCATE 12,47:PRINT "A":LOCATE 12,35:PRINT "M":LOCATE 12,37:PRINT "A":LOCATE 12,39:PRINT "T":LOCATE 12,41:PRINT "H":LOCATE 12,45:PRINT "P"
  115. 1160  FOR Y = 79 TO 49 STEP - 1:LOCATE 12,Y:PRINT "K":FOR T = 0 TO 100:NEXT T:LOCATE 12,Y:PRINT " ":NEXT Y:LOCATE 12,35:PRINT "M":LOCATE 12,37:PRINT "A":LOCATE 12,39:PRINT "T":LOCATE 12,41:PRINT "H":LOCATE 12,45:PRINT"P"
  116. 1170  LOCATE 12,47:PRINT "A":LOCATE 12,49:PRINT "K"
  117. 1180  FOR O = 80 TO 50 STEP -2:LOCATE 12,O:PRINT " ":NEXT O
  118. 1190  DEF SEG = 0: POKE 1050, PEEK(1052)
  119. 1200  F = 1
  120. 1211  COLOR 7,0,0
  121. 1220  WHILE F = 1
  122. 1280  LOCATE 15,25:COLOR 15,0:PRINT CHR$(16):LOCATE 15,63:PRINT CHR$(17):COLOR 7,0
  123. 1290  LOCATE 15,27:PRINT "PRESS":LOCATE 15,33:COLOR 0,7:PRINT " S P A C E  B A R  ":COLOR 7,0:LOCATE 15,53:PRINT " TO START "
  124. 1300  LOCATE 21,33:COLOR 15,0:PRINT "(C)1984 DAN DALAL":COLOR 7,0,0
  125. 1310  B$ = INKEY$:IF B$ = CHR$(32) THEN CLS:GOTO 150
  126. 1320  A = A +1:IF A > 237 THEN GOTO 1210
  127. 1330  WEND
  128. 1340  WEND
  129. 1350  REM this section will end program************
  130. 1360  LOCATE 1,1,0
  131. 1370  FOR W = 65 TO 77:LOCATE 1,W:PRINT " ":NEXT W
  132. 1380  FOR W = 1 TO 73 STEP 2:LOCATE 21,W:PRINT "  ":NEXT W
  133. 1390  GOSUB 7800
  134. 1400  FOR V = 17 TO 51
  135. 1410  READ A$
  136. 1420  IF A$ ="0" THEN 1480
  137. 1430  LOCATE 21,V:COLOR 15,0:PRINT A$;
  138. 1440  DATA"A","R","E"," ","Y","O","U"," ","S","U","R","E"," ","A","B","O","U","T"," ","E","X","I","T","I","N","G","(","Y","o","r","N",")",0
  139. 1450  FOR T = 0 TO 85:NEXT T
  140. 1460  NEXT V
  141. 1470  GOSUB 7770
  142. 1480  COLOR 7,0,0:LOCATE 21,53:BEEP:INPUT B$
  143. 1490  RESTORE
  144. 1500  IF B$ ="Y" OR B$ ="y" THEN CLS:LOCATE 1,1,1,7:SYSTEM
  145. 1510  LOCATE 21,9:COLOR 15,0:PRINT CHR$(186):LOCATE 21,66:PRINT CHR$(186):COLOR 7,0
  146. 1520  X$ = STRING$(55,32):LOCATE 21,11:PRINT X$
  147. 1530  GOTO 800
  148. 1540  REM addition subroutine*********
  149. 1550  CLS
  150. 1560  GOSUB 5010
  151. 1570  CLS
  152. 1580  GOSUB 6040
  153. 1581  COLOR 7,0,0
  154. 1590  LOCATE 5,31:PRINT "M A T H  P A K"
  155. 1600  LOCATE 2,35:COLOR 0,7:PRINT "Addition":COLOR 7,0
  156. 1610  LOCATE 7,18:PRINT "(to exit, type a '0'for values to be added)"
  157. 1620  LOCATE 10,66:PRINT " ":LOCATE 10,9:PRINT " "
  158. 1630  GOSUB 7770
  159. 1640  LOCATE 10,13:PRINT "how many values to be added":BEEP:LOCATE 10,41:INPUT C5
  160. 1650  C = INT(C5)
  161. 1660  IF C = 0 THEN CLS:GOTO 440
  162. 1670  IF C < = 1 THEN GOTO 1570
  163. 1671  IF C > 60 THEN GOTO 1570
  164. 1680  IF C = 2 THEN GOTO 1690 ELSE GOTO 1760
  165. 1690  LOCATE 10,42:PRINT "                                   ":LOCATE 15,31:PRINT "first number":BEEP:LOCATE 15,43:INPUT A
  166. 1700  IF A = 0 THEN CLS:GOTO 440
  167. 1710  CLOD$ = STRING$(60,32):LOCATE 15,19:PRINT CLOD$
  168. 1720  LOCATE 15,31:PRINT "second number":BEEP:LOCATE 15,46:INPUT B
  169. 1730  S = A + B:LOCATE 15,19:PRINT CLOD$:LOCATE 15,31:PRINT USING "######.#####";A:LOCATE 16,31:PRINT USING "######.#####";B:LI$=STRING$(15,196):LOCATE 17,30:PRINT LI$
  170. 1740  LOCATE 18,29:PRINT USING "########.#####";S:LOCATE 16,29:PRINT CHR$(43)
  171. 1750  GOTO 1990
  172. 1760  CLS:RO = 2:CO = 2:SU = 0
  173. 1770  CLS
  174. 1771  LOCATE 1,2:PRINT "V#":LOCATE 1,29:PRINT "V#":LOCATE 1,56:PRINT "V#"
  175. 1780  FOR A = 1 TO C
  176. 1790  LOCATE 22,15:PRINT "ENTER VALUE #":LOCATE 22,38:PRINT A:LOCATE 22,41:BEEP:INPUT S
  177. 1800  IF S =  0 THEN 440 ELSE GOTO 1810
  178. 1810  LOCATE RO,(CO -1):PRINT A:LOCATE RO,(CO +2):PRINT USING "############.####";S
  179. 1820  RO = RO + 1: IF RO > 21 THEN 1821 ELSE GOTO 1830
  180. 1821  RO = 2:CO = CO + 27
  181. 1830  SU = SU + S
  182. 1840  LOCATE 23,15:PRINT "S U M  I S  ":LOCATE 23,27:PRINT USING "################.####";SU
  183. 1841  NU$ = STRING$(60,32):LOCATE 22,10:PRINT NU$
  184. 1850  NEXT A
  185. 1860  GOTO 1990
  186. 1990  LOCATE 22,24:COLOR 15,0:PRINT "PRESS S P A C E  B A R TO CONTINUE...":COLOR 7,0
  187. 2000  GOSUB 7770
  188. 2010  I$ = INKEY$: IF I$ = " " THEN GOTO 1570
  189. 2020  GOTO 2010
  190. 2030  REM this section will convert decimal numbers to hex and binary values***
  191. 2040  GOSUB 5120
  192. 2050  CLS
  193. 2060  GOSUB 6040
  194. 2061  COLOR 7,0,0
  195. 2070  LOCATE 2,30:COLOR 0,7:PRINT "Oct./Hex conver.":COLOR 7,0
  196. 2080  LOCATE 5,31:PRINT "M A T H  P A K"
  197. 2090  LOCATE 7,22:PRINT "(to exit, type a '0' for value)"
  198. 2100  LOCATE 14,21:PRINT "(range is -32768 to 65535)"
  199. 2110  GOSUB 7770
  200. 2120  LOCATE 15,18:PRINT"input the  D E C I M A L   value":BEEP:LOCATE 15,50:INPUT A
  201. 2130  IF A < -32768 THEN 2120
  202. 2140  IF A > 65535 THEN 2120
  203. 2150  IF A = 0 THEN  GOTO 440
  204. 2160  H$ = HEX$(A)                                                 
  205. 2170  I$ =OCT$(A)
  206. 2180  FOR D = 18 TO 64
  207. 2190  LOCATE 15,D:PRINT " ":NEXT D
  208. 2200  LOCATE 17,25:PRINT A;" is equal to"
  209. 2210  LOCATE 18,30:PRINT H$;" in hexidecimal,"
  210. 2220  LOCATE 19,30:PRINT I$;" in octal"
  211. 2230  LOCATE 20,20:COLOR 15,0:PRINT "press the SPACE BAR to continue...":COLOR 7,0
  212. 2240  GOSUB 7770
  213. 2250  YR$ = INKEY$:IF YR$ =" " THEN 2050
  214. 2260  GOTO 2250
  215. 2270  REM multiplication section****************
  216. 2280  GOSUB 5490
  217. 2290  CLS
  218. 2300  GOSUB 6040
  219. 2310  GOSUB 6040
  220. 2311  COLOR 7,0,0
  221. 2320  LOCATE 4,31:PRINT "M A T H  P A K"
  222. 2330  LOCATE 2,32:COLOR 0,7:PRINT " Multiplication":COLOR 7,0
  223. 2340  LOCATE 7,17:PRINT "(to exit, type a '0' for values to be mult.)"
  224. 2350  GOSUB 7770
  225. 2360  LOCATE 10,20:PRINT "how many values to be multiplied":BEEP:LOCATE 10,53:INPUT L7
  226. 2370  L1 = INT(L7)
  227. 2380  IF(L1 < =1) AND (L1 < > 0) THEN GOTO 2360
  228. 2390  IF L1 = 0 THEN CLS:GOTO 440
  229. 2400  FOR P = 20 TO 62:LOCATE 10,P:PRINT " ":NEXT P
  230. 2410  GOSUB 7770
  231. 2420  LOCATE 15,31:PRINT "first value":BEEP:LOCATE 15,43:INPUT N
  232. 2430  IF N = 0 THEN CLS: GOTO 440                               
  233. 2440  S = N
  234. 2450  FOR A = 31 TO 62:LOCATE 15,A:PRINT " ":NEXT A
  235. 2460  Q = 1
  236. 2470  LOCATE 17,46:PRINT "value #"
  237. 2480  LOCATE 17,55:PRINT Q
  238. 2490  DEF SEG = 0: POKE 1050, PEEK(1052)
  239. 2500  LOCATE 15,31:PRINT "next value":BEEP:LOCATE 15,42:INPUT M1
  240. 2510  IF M1 = 0 THEN CLS: GOTO 440
  241. 2520  FOR A = 31 TO 62:LOCATE 15,A:PRINT " ":NEXT A
  242. 2530  S =S * M1
  243. 2540  Q = Q + 1
  244. 2550  LOCATE 17,55:PRINT Q
  245. 2560  IF Q = L1 THEN 2580
  246. 2570  GOTO 2500
  247. 2580  FOR Y = 10 TO 65
  248. 2590  LOCATE 18,Y:PRINT CHR$(205):NEXT Y
  249. 2600  LOCATE 20,31:PRINT "the product is ";S
  250. 2610  LOCATE 21,21:COLOR 15,0:PRINT "press the SPACE BAR to continue...":COLOR 7,0
  251. 2620  GOSUB 7770
  252. 2630  YRS$ = INKEY$:IF YRS$ =" " THEN 2290
  253. 2640  GOTO 2630
  254. 2650  REM THIS IS THE HELP SECTION**************
  255. 2660  REM
  256. 2670  LOCATE 1,1,0
  257. 2680  CLS
  258. 2690  LOCATE 2,31:PRINT "M A T H  P A K"
  259. 2700  LOCATE 3,2:PRINT "This short help session is to aid the user in obtaining the very best results   from this software."
  260. 2710  FOR T = 0 TO 200:NEXT T
  261. 2720  LOCATE 6,1:PRINT "All the questions that are asked require the user to be specific and to the     point, since this is a math-number-based program. In the event of an entry      error,simply press the BACKSPACE key and correct the error."
  262. 2730  LOCATE 10,1:PRINT "When asked for a topic choice, simply press the desired topic letter in either  caps or reg. style. (i.e. `a' or 'A')"
  263. 2740  FOR T = 0 TO 200: NEXT T
  264. 2750  LOCATE 15,5:PRINT "In the event that you need further assistance,simply press the SPACE BAR in MAINMENU, and that will return you to the flow section."
  265. 2760  FOR T = 0 TO 400:NEXT T
  266. 2770  GOSUB 9600
  267. 2780  GOSUB 7770
  268. 2790  F = 10
  269. 2800  WHILE F = 10
  270. 2810  LOCATE 1,65:PRINT TIME$
  271. 2820  G$ =INKEY$:IF G$ =" " THEN CLS:GOTO 230
  272. 2830  WEND
  273. 2840  REM THIS SECTION SUBTRACTS*****************
  274. 2850  GOSUB 5880
  275. 2860  CLS
  276. 2870  GOSUB 6040
  277. 2871  COLOR 7,0,0
  278. 2880  LOCATE 4,31:PRINT "M A T H  P A K"
  279. 2890  LOCATE 2,34:COLOR 0,7:PRINT "Subtraction":COLOR 7,0
  280. 2900  LOCATE 7,15:PRINT "(to exit, type a '0', for values subtracted)"
  281. 2910  GOSUB 7770
  282. 2920  LOCATE 10,20:PRINT "how many values to be subtracted":BEEP:LOCATE 10,54:INPUT Y8
  283. 2930  Y = INT(Y8)
  284. 2940  IF Y = 0 THEN CLS:GOTO 430
  285. 2950  IF Y < = 1 THEN GOTO 2920
  286. 2960  IF Y = 2 THEN GOTO 2970 ELSE GOTO 3030
  287. 2970  LOCATE 10,20:PRINT "                                                                    ":LOCATE 15,21:PRINT "first value":BEEP:LOCATE 15,33:INPUT D
  288. 2980  IF D = 0 THEN CLS:GOTO 440
  289. 2990  LI$=STRING$(60,32):LOCATE 15,18:PRINT LI$:LOCATE 15,21:PRINT"second value":BEEP:LOCATE 15,33:INPUT E:IF E = 0 THEN CLS:GOTO 440
  290. 3000  LOCATE 15,19:PRINT LI$:LOCATE 15,19:PRINT USING "######.#####";D:LOCATE 16,19:PRINT USING "######.#####";E:LOCATE 16,17:PRINT CHR$(196)
  291. 3010  CLOD$=STRING$(16,196):LOCATE 17,18:PRINT CLOD$:LOCATE 18,18:PRINT USING "#######.#####";(D-E)
  292. 3020  GOTO 3240
  293. 3030  FOR N = 20 TO 63:LOCATE 10,N:PRINT " ":NEXT N
  294. 3040  GOSUB 7770
  295. 3050  LOCATE 15,21:PRINT "first value":BEEP:LOCATE 15,33:INPUT D
  296. 3060  IF D = 0 THEN CLS:GOTO 440                                
  297. 3070  S = D
  298. 3080  FOR E = 21 TO 61:LOCATE 15,E:PRINT " ":NEXT E
  299. 3090   T1 = 1
  300. 3100  LOCATE 17,46:PRINT "value #"
  301. 3110  LOCATE 17,55:PRINT T1
  302. 3120  GOSUB 7770
  303. 3130  LOCATE 15,21:PRINT "next value":BEEP:LOCATE 15,32:INPUT L
  304. 3140  IF L = 0 THEN CLS: GOTO 440
  305. 3150  FOR T = 21 TO 61:LOCATE 15,T:PRINT " ":NEXT T
  306. 3160  S = S -L
  307. 3170  T1 = T1 + 1
  308. 3180  LOCATE 17,55:PRINT T1
  309. 3190  IF T1 = Y THEN GOTO 3210
  310. 3200  GOTO 3130
  311. 3210  FOR U = 10 TO 65
  312. 3220  LOCATE 18,U:PRINT CHR$(205):NEXT U
  313. 3230  LOCATE 20,20:PRINT "the difference is ";S
  314. 3240  LOCATE 21,20:COLOR 15,0:PRINT "PRESS S P A C E  B A R TO CONTINUE...":COLOR 7,0
  315. 3250  GOSUB 7770
  316. 3260  YRS$ = INKEY$:IF YRS$ =" " THEN 2860
  317. 3270  GOTO 3260
  318. 3280  REM THIS SECTION CALCULATES TRIG. FUNCTIONS**************
  319. 3290  GOSUB 5230
  320. 3300  CLS
  321. 3310  GOSUB 6040
  322. 3311  COLOR 7,0,0
  323. 3320  LOCATE 4,31:PRINT "M A T H  P A K"
  324. 3330  LOCATE 2,30:COLOR 0,7:PRINT " Trig. Conversions ":COLOR 7,0
  325. 3340  LOCATE 7,20:PRINT "(to exit, type a 'X' for mode)"
  326. 3350  GOSUB 7770
  327. 3360  LOCATE 10,20:PRINT "mode(d-degree;r-radians;t-table)":BEEP:LOCATE 10,56:INPUT P$
  328. 3370  Q$ =LEFT$(P$,1)
  329. 3380  IF Q$ ="x" OR Q$ = "X"  THEN CLS:GOTO 440
  330. 3390  IF Q$ ="d" OR Q$ ="D" THEN GOTO 3820
  331. 3400  IF Q$ ="r" OR Q$ ="R" THEN GOTO 3600
  332. 3410  IF Q$ = "T" OR Q$ = "t" THEN GOTO 3430
  333. 3420  GOTO 3360
  334. 3430  CLS:LOCATE 2,25:PRINT "T R I G O N O M E T R I C  T A B L E"
  335. 3440  LOCATE 5,9:PRINT "(degree)"
  336. 3450  LOCATE 4,10:PRINT "angle":LOCATE 4,26:PRINT "SINE":LOCATE 4,46:PRINT "COSINE":LOCATE 4,66:PRINT "TANGENT":LOCATE 19,45:PRINT "                     "
  337. 3460  P = 3.14159
  338. 3470  CLEAN$ = STRING$(75,32):FOR LI = 7 TO 18:LOCATE LI,3:PRINT CLEAN$:NEXT LI:LOCATE 12,2:PRINT CHR$(16)
  339. 3480  AWE$=STRING$(78,205):LOCATE 6,1:PRINT AWE$:LOCATE 6,24:PRINT CHR$(202):LOCATE 6,44:PRINT CHR$(202):LOCATE 6,64:PRINT CHR$(202)
  340. 3490  LO = ANG - 5:HI = ANG + 5:REM LOCATE 12,7:COLOR 15:PRINT USING "###.####";ANG:LOCATE 12,24:PRINT USING "###.####";SIN(ANG):LOCATE 12,44:PRINT U"###.####";COS(ANG):LOCATE 12,64:PRINT USING "###.####";TAN(ANG)
  341. 3500  LI = 7: COLOR 7,0:FOR TYE =LO TO HI:LOCATE LI,7:PRINT USING "#####.####";TYE
  342. 3510  LOCATE LI,24:PRINT USING "#####.####";SIN(TYE*(P/180)):FOR T = 0 TO 100:NEXT T
  343. 3520  LOCATE LI,44:PRINT USING "#####.####";COS(TYE*(P/180)):FOR T = 0 TO 100:NEXT T
  344. 3521  LET MO =(TAN(TYE*(P/180))):IF (MO < -9999) OR (MO > 9999) THEN 3540 ELSE GOTO 3530
  345. 3530  LOCATE LI,64:PRINT USING "#####.####";TAN(TYE*(P/180)):FOR T = 0 TO 100:NEXT T
  346. 3531  GOTO 3550
  347. 3540  LOCATE  LI,64:PRINT "          ":LOCATE LI,67:PRINT "div. by 0    "
  348. 3550  LI = LI +1:NEXT TYE:COLOR 7,0:LOCATE 19,45:PRINT "                     ":LOCATE 12,77:PRINT CHR$(17):LOCATE 12,2:PRINT CHR$(16):LOCATE 21,5:PRINT "                        "
  349. 3560  COLOR 7,0: LOCATE 19,5:PRINT "please input angle value('0'to exit)":LOCATE 19,45:INPUT ANG:IF ANG = 0 THEN GOTO 3300 ELSE  LOCATE 12,2:PRINT CHR$(16):LOCATE 21,5:PRINT "now computing values...":GOTO 3450
  350. 3570  GOSUB 9600
  351. 3580  IS$ = INKEY$:IF IS$ =CHR$(32) THEN GOTO 3300
  352. 3590  GOTO 3580
  353. 3600  FOR P = 20 TO 64:LOCATE 10,P:PRINT " ":NEXT P
  354. 3610  GOSUB 7770
  355. 3620  LOCATE 10,20:PRINT "                                     ": LOCATE 15,20:PRINT "enter radian value":BEEP:LOCATE 15,40:INPUT F
  356. 3630  IF F = 0 THEN CLS:GOTO 440
  357. 3640  P = 3.14159
  358. 3650  D = F
  359. 3660  R = D * (P /180)
  360. 3670  S1 = SIN(R)
  361. 3680  S2 = TAN(D/(P/180))
  362. 3690  S3 = COS(R)
  363. 3700  S4 = 1 / S3
  364. 3710  S5 = 1 / S1
  365. 3720  S6 = 1 / S2
  366. 3730  FOR Y = 20 TO 63:LOCATE 15,Y:PRINT " ":NEXT Y
  367. 3740  LOCATE 16,20:PRINT F;" radians equals"
  368. 3750  LOCATE 17,20:PRINT USING "######.####";S1:LOCATE 17,31:PRINT " (sin)":LOCATE 17,45:PRINT USING "######.####";S5:LOCATE 17,57:PRINT " (cosecant)"
  369. 3760  LOCATE 18,20:PRINT USING "######.####";S3:LOCATE 18,31:PRINT " (cos)":LOCATE 18,45:PRINT USING "######.####";S4:LOCATE 18,57:PRINT " (secant)"
  370. 3770  LOCATE 19,20:PRINT USING "######.####";S2:LOCATE 19,31:PRINT " (tan)":LOCATE 19,45:PRINT USING "######.####";S6:LOCATE 19,57:PRINT " (cotangent)"
  371. 3771  IF S4 < -9999 THEN 3772 ELSE GOTO 3773
  372. 3772  LOCATE 18,45:PRINT "   div. by 0":LOCATE 18,57:PRINT " (secant)"
  373. 3773  IF S5 < -9999 THEN 3774 ELSE GOTO 3775
  374. 3774  LOCATE 17,45:PRINT " div. by 0  ":LOCATE 17,57:PRINT " (cosecant)"
  375. 3775  IF S6 < -9999 THEN 3776 ELSE GOTO 3777
  376. 3776  LOCATE 19,45:PRINT " div. by 0":LOCATE 19,57:PRINT " (cotangent)"
  377. 3777  IF (S3 < -9999) OR (S3 > 9999) THEN 3778 ELSE GOTO 3780
  378. 3778  LOCATE 19,20:PRINT " div. by 0":LOCATE 19,31:PRINT " (tan)"
  379. 3780  GOSUB 4100
  380. 3790  GOSUB 7770
  381. 3800  YRS$ = INKEY$: IF YRS$ =" " THEN 3300
  382. 3810  GOTO 3800
  383. 3820  FOR P = 20 TO 64:LOCATE 10,P:PRINT " ":NEXT P
  384. 3830  GOSUB 7770
  385. 3840  LOCATE 10,20:PRINT "                                    ": LOCATE 16,20:PRINT "enter degree value":BEEP:LOCATE 16,40:INPUT F
  386. 3850  IF F = 0 THEN CLS: GOTO 440
  387. 3860  P = 3.14159
  388. 3870  D = F
  389. 3880  R = D *(P /180)
  390. 3890  S1 = COS(R)
  391. 3900  S2 = SIN(R)
  392. 3910  S3 = TAN( D * (P/180))
  393. 3920  S4 = 1 / S1
  394. 3930  S5 = 1 / S2
  395. 3940  S6 = 1 / S3
  396. 3950  FOR W = 20 TO 64:LOCATE 16,W:PRINT " ":NEXT W
  397. 3960  LOCATE 16,20:PRINT F;" degrees equals"
  398. 3970  LOCATE 17,20:PRINT USING "######.####";S1:LOCATE 17,31:PRINT " (cos)":LOCATE 17,45:PRINT USING "######.####";S4:LOCATE 17,57:PRINT " (secant)"
  399. 3980  LOCATE 18,20:PRINT USING "######.####";S2:LOCATE 18,31:PRINT " (sin)":LOCATE 18,45:PRINT USING "######.####";S5:LOCATE 18,57:PRINT " (cosecant)"
  400. 3990  LOCATE 19,20:PRINT USING "######.####";S3:LOCATE 19,31:PRINT " (tan)":LOCATE 19,45:PRINT USING "######.####";S6:LOCATE 19,57:PRINT " (cotangent)"
  401. 3991  IF (S3 < -9999) OR (S3 > 9999) THEN 3992 ELSE GOTO 3993
  402. 3992  LOCATE 19,20:PRINT "  div. by 0":LOCATE 19,31:PRINT " (tan)"
  403. 3993  IF S5 < -9999 THEN 3994 ELSE GOTO 3995
  404. 3994  LOCATE 18,45:PRINT " div. by 0":LOCATE 18,57:PRINT " (cosecant)"
  405. 3995  IF S6 < -9999 THEN 3996 ELSE GOTO 3997
  406. 3996  LOCATE 19,45:PRINT " div. by 0":LOCATE 19,57:PRINT " (cotangent)"
  407. 3997  IF(S4 < -9999) OR ( S4 > 9999) THEN 3998 ELSE GOTO 4000
  408. 3998  LOCATE 17,45:PRINT "  div. by 0  ":LOCATE 17,57:PRINT " (secant)"
  409. 4000  GOSUB 4100
  410. 4010  GOSUB 7770
  411. 4020  YRS$ = INKEY$:IF YRS$ =" " THEN 3300
  412. 4030  GOTO 4020
  413. 4040  FOR T = 0 TO 15
  414. 4050  LOCATE 1,40:PRINT TIME$
  415. 4060  NEXT T
  416. 4070  FOR T = 40 TO 50:LOCATE 1,T:PRINT " ":NEXT T
  417. 4080  RETURN
  418. 4090  RESUME
  419. 4100  LOCATE 20,20:COLOR 15,0:PRINT "to continue, press the SPACE BAR...":COLOR 7,0
  420. 4110  RETURN
  421. 4120  REM area subroutine
  422. 4130  CLS
  423. 4140  GOSUB 270
  424. 4150  REM THIS SUBROUTINE WILL CALCULATE MONTH BY USING THE DATE$ FUNCTION*****
  425. 4160  A$ = LEFT$(DATE$,2)
  426. 4170  IF A$ ="01" THEN A$ ="JANUARY    "
  427. 4180  IF A$ ="02" THEN A$ = "FEBRUARY  "
  428. 4190  IF A$ ="03" THEN A$ ="MARCH    "
  429. 4200  IF A$ ="04" THEN A$ ="APRIL    "
  430. 4210  IF A$ ="05" THEN A$ ="MAY      "
  431. 4220  IF A$ ="06" THEN A$ ="JUNE     "
  432. 4230  IF A$ ="07" THEN A$ ="JULY     "
  433. 4240  IF A$ ="08" THEN A$ ="AUGUST   "
  434. 4250  IF A$ ="09" THEN A$="SEPTEMBER  "
  435. 4260  IF A$ ="10" THEN A$ ="OCTOBER   "
  436. 4270  IF A$ ="11" THEN A$ ="NOVEMBER  "
  437. 4280  IF A$ ="12" THEN A$ = "DECEMBER  "
  438. 4290  B$ =MID$(DATE$,4,2)
  439. 4300  LOCATE 1,5:PRINT B$;"  ";A$
  440. 4310  R$ = LEFT$(TIME$,2)
  441. 4320  R = VAL(R$)
  442. 4330  IF R < 12 THEN LOCATE 1,28:PRINT "GOOD MORNING...     ":GOTO 4360
  443. 4340  IF R < 18 THEN LOCATE 1,28:PRINT "GOOD AFTERNOON...      ":GOTO 4360
  444. 4350  LOCATE 1,28:PRINT "GOOD EVENING...      "
  445. 4360  RETURN
  446. 4370  FOR A = 224 TO 237
  447. 4380  FOR B = 1 TO 78
  448. 4390  LOCATE 2,B:PRINT CHR$(A):LOCATE 2,B:PRINT " ":NEXT B:NEXT A
  449. 4400  RETURN
  450. 4410  FOR A = 0 TO 5:LOCATE 1,65:PRINT TIME$:NEXT A
  451. 4420  RETURN
  452. 4430  REM this section is for division****************
  453. 4440  GOSUB 5370
  454. 4450  CLS
  455. 4460  GOSUB 6040
  456. 4461  COLOR 7,0,0
  457. 4470  LOCATE 2,32:COLOR 0,7:PRINT " Division ":COLOR 7,0
  458. 4480  LOCATE 5,31:PRINT "M A T H  P A K"
  459. 4490  LOCATE 7,22:PRINT "(to exit, type a '0' for 'numerator')"
  460. 4500  GOSUB 7770
  461. 4510  LOCATE 15,18:PRINT "input the numerator(top)":BEEP:LOCATE 15,43:INPUT N
  462. 4520  IF N = 0 THEN CLS:GOTO 440
  463. 4530  FOR Y = 18 TO 65:LOCATE 15,Y:PRINT " ":NEXT Y
  464. 4540  GOSUB 7770
  465. 4550  LOCATE 15,18:PRINT "input the denominator(bottom)":BEEP:LOCATE 15,48:INPUT M
  466. 4560  IF M = 0 THEN GOTO 4550
  467. 4570  FOR T = 18 TO 73:LOCATE 15,T:PRINT " ":NEXT T
  468. 4580  D = N / M
  469. 4590  LOCATE 17,20:PRINT N;"/";M;" =";USING "#####.######";D
  470. 4600  LOCATE 19,17:COLOR 15,0:PRINT "to continue, press the S P A C E  B A R...":COLOR 7,0
  471. 4610  GOSUB 7770
  472. 4620  YR$ = INKEY$:IF YR$ =" " THEN GOTO 4450
  473. 4630  GOTO 4620
  474. 4640  REM binary to decimal conversions*******************************
  475. 4650  GOSUB 5610
  476. 4660  CLS
  477. 4670  GOSUB 6040
  478. 4671  COLOR 7,0,0
  479. 4680  LOCATE 2,32:COLOR 0,7:PRINT " Bin. Conv.":COLOR 7,0
  480. 4690  LOCATE 5,31:PRINT "M A T H  P A K"
  481. 4700  LOCATE 7,16:PRINT "(to exit, type an 'x' for a binary value)"
  482. 4710  LOCATE 16,22:PRINT "****************  (bit count index)"
  483. 4720  LOCATE 17,29:PRINT "*"
  484. 4730  GOSUB 7770
  485. 4740  LOCATE 14,17:PRINT "input the binary number(16 bit)":BEEP:LOCATE 15,20:INPUT A$
  486. 4750  SP$ = STRING$(45,32):LOCATE 15,22:PRINT SP$
  487. 4760  IF A$ ="x" OR A$ ="X" THEN GOTO 440
  488. 4770  IF LEN(A$) < > 16 THEN GOTO 4740
  489. 4780  Q = 0: D = 0
  490. 4790  FOR B = 16 TO 1 STEP -1: D = D + 1
  491. 4800  LET Q9 = VAL(MID$(A$,D,1))
  492. 4810  IF (Q9 = 0 ) OR (Q9 = 1) THEN 4830
  493. 4820  GOTO 4740
  494. 4830  Q = Q + VAL(MID$(A$,D,1)) * 2 ^ (B - 1)
  495. 4840  NEXT B
  496. 4850  IF Q < = 65535 THEN GOTO 4890
  497. 4860  IF Q > 65535 THEN LOCATE 21,20:PRINT "an error in input has occured..."
  498. 4870  FOR T2 = 0 TO 250:NEXT T2
  499. 4880  FOR U = 20 TO 63:LOCATE 21,U:PRINT " ":NEXT U:GOTO 4740
  500. 4890  LOCATE 18,25:PRINT A$;" in binary is"
  501. 4900  LOCATE 19,30:PRINT Q;" in decimal"
  502. 4910  LOCATE 20,20:COLOR 15,0:PRINT "press the S P A C E  B A R to continue...":COLOR 7,0
  503. 4920  POKE 106,0
  504. 4930  Y$ = INKEY$
  505. 4940  IF Y$ = CHR$(32) THEN 4960
  506. 4950  GOTO 4930
  507. 4960  SPC$ = STRING$(60,32)
  508. 4970  LOCATE 18,10:PRINT SPC$
  509. 4980  LOCATE 19,10:PRINT SPC$
  510. 4990  LOCATE 20,10:PRINT SPC$
  511. 5000  GOTO 4680
  512. 5010  REM help for addition****************
  513. 5020  CLS
  514. 5021  COLOR 7,0,0
  515. 5030  LOCATE 1,10:PRINT "Addition"
  516. 5040  LOCATE 6,2:PRINT "The addition section allows the user as many values as he prefers. You can exit at any time by entering a '0' for an input value, but all previous values will  be lost. To exit to main menu, type a '0'."
  517. 5041  LOCATE 11,2:PRINT "You can have a maximum 60 numbers to be added toghter"
  518. 5042  LOCATE 12,2:PRINT "at one time."
  519. 5050  FOR T = 0 TO 350:NEXT T
  520. 5060  GOSUB 9600
  521. 5070  GOSUB 7770
  522. 5080  Y$ =INKEY$: IF Y$ =" " THEN 5110
  523. 5090  GOTO 5080
  524. 5100  CLS
  525. 5110  RETURN 1580
  526. 5120  REM help for hex/oct conversions*******************
  527. 5130  CLS
  528. 5131  COLOR 7,0,0
  529. 5140  LOCATE 1,10:PRINT "Oct/Hex conv."
  530. 5150  LOCATE 5,10:PRINT "This unit, is to provide the user with a fast method of converting a decimal val-ue into a hexidecimal and an octal value. At any time the user wants to exit to main menu, simply type in a '0' for a decimal input."
  531. 5160  FOR T = 0 TO 350:NEXT T
  532. 5170  GOSUB 9600
  533. 5180  GOSUB 7770
  534. 5190  Y$ = INKEY$: IF Y$ =" " THEN 5220
  535. 5200  GOTO 5190
  536. 5210  CLS
  537. 5220  RETURN 2060
  538. 5230  REM help for trig conversions**************************
  539. 5240  CLS
  540. 5241  COLOR 7,0,0
  541. 5250  LOCATE 1,10:PRINT "Trig. Conv."
  542. 5260  FOR T = 0 TO 350:NEXT T
  543. 5270  LOCATE 5,10:PRINT "This unit, is to provide the user with trigonometric conversions including sine,cosine, and tangent values for degrees and radians."
  544. 5280  LOCATE 8,10:PRINT "This section also offers a Trigonometric Table(in degrees)."
  545. 5290  LOCATE 10,10:PRINT "To exit, type a 'X' for mode selection, and press <RETURN>."
  546. 5300  FOR T = 0 TO 350:NEXT T
  547. 5310  GOSUB 9600
  548. 5320  GOSUB 7770
  549. 5330  Y$ =INKEY$:IF Y$ =" " THEN 5360
  550. 5340  GOTO 5330
  551. 5350  CLS
  552. 5360  RETURN 3310
  553. 5370  REM help for division ********************************
  554. 5380  CLS
  555. 5381  COLOR 7,0,0
  556. 5390  LOCATE 1,10:PRINT "Division"
  557. 5400  FOR T = 0 TO 350:NEXT T
  558. 5410  LOCATE 5,10:PRINT "This unit, will divide any number, other than by zero(0) by another  number.The numbers do not have to be integers.To exit to main menu, simply type a '0' for  numerator."
  559. 5420  FOR T = 0 TO 350:NEXT T
  560. 5430  GOSUB 9600
  561. 5440  GOSUB 7770
  562. 5450  Y$ =INKEY$:IF Y$ = " " THEN 5480
  563. 5460  GOTO 5450
  564. 5470  CLS
  565. 5480  RETURN 4460
  566. 5490  REM help for multiplication********************
  567. 5500  CLS
  568. 5501  COLOR 7,0,0
  569. 5510  LOCATE 1,10:PRINT "Multiplication"
  570. 5520  FOR T = 0 TO 350:NEXT T
  571. 5530  LOCATE 5,10:PRINT "This unit, will multiply any number of values with each other. To exit to main  menu, type a '0' at any time. All values will be lost.
  572. 5540  FOR T = 0 TO 350:NEXT T
  573. 5550  GOSUB 9600
  574. 5560  GOSUB 7770
  575. 5570  Y$ =INKEY$: IF Y$ = " " THEN 5600
  576. 5580  GOTO 5570
  577. 5590  CLS
  578. 5600  RETURN 2310
  579. 5610  REM HELP FOR BINARY CONVERTING*****************
  580. 5620  CLS
  581. 5621  COLOR 7,0,0
  582. 5630  LOCATE 1,10:PRINT "Binary to Decimal Conversions"
  583. 5640  FOR T = 0 TO 200:NEXT T
  584. 5650  LOCATE 5,10:PRINT "This unit, is designed seperately from the hex/oct conversion unit so that only binary to decimal values are involved."
  585. 5660  FOR T = 0 TO 200:NEXT T
  586. 5670  LOCATE 8,10:PRINT "The maximum decimal value is 65535 or 1111111111111111 (binary)."
  587. 5680  FOR T = 0 TO 200:NEXT T
  588. 5690  LOCATE 9,10:PRINT "Therefore, the range is 0 to 65,535(decimal)."
  589. 5700  FOR T = 0 TO 200:NEXT T
  590. 5710  LOCATE 10,10:PRINT "The 'bit count index', is simply a guide to show how many bits are still remain -ing out of sixteen(16) and has no calculating power."
  591. 5720  FOR T = 0 TO 350:NEXT T
  592. 5730  LOCATE 13,10:PRINT "Input any series of 1's and/or 0's ONLY!!"
  593. 5740  FOR T = 0 TO 200:NEXT T
  594. 5750  LOCATE 15,10:COLOR 15,0:PRINT "ALL SIXTEEN BITS MUST BE PRESENT FOR PROPER EXECUTION.":COLOR 7,0
  595. 5760  FOR T = 0 TO 200:NEXT T
  596. 5770  LOCATE 16,10:PRINT "To exit to main menu, type an 'x' for input."
  597. 5780  FOR T = 0 TO 200:NEXT T
  598. 5790  LOCATE 17,10:PRINT "Please be careful not to enter alpha characters, as the program will calculate  their values(and produce an error out), EXCEPT OF COURSE FOR 'x'(used for exit-  ing)."
  599. 5800  LOCATE 20,7:PRINT "This holds true for any number except '0' and/or '1'."
  600. 5810  FOR T = 0 TO 200:NEXT T
  601. 5820  GOSUB 9600
  602. 5830  GOSUB 7770
  603. 5840  Y$ =INKEY$:IF Y$ =" " THEN GOTO 5870
  604. 5850  GOTO 5840
  605. 5860  CLS
  606. 5870  RETURN 4670
  607. 5880  REM help section for subtraction************************
  608. 5890  CLS
  609. 5891  COLOR 7,0,0
  610. 5900  LOCATE 1,10:PRINT "Subtraction"
  611. 5910  FOR T = 0 TO 200:NEXT T
  612. 5920  LOCATE 5,10:PRINT "This unit, will subtract any number of values from each other depending on order"
  613. 5930  FOR T = 0 TO 200:NEXT T
  614. 5940  LOCATE 6,10:PRINT "For example, to subtract 45 from 56 from 456, enter 456 first, then 56 then 45."
  615. 5950  FOR T = 0 TO 200:NEXT T
  616. 5960  LOCATE 8,10:PRINT "To exit to main menu, type a '0' for any input value, all values will be lost."
  617. 5970  FOR T = 0 TO 200:NEXT T
  618. 5980  GOSUB 9600
  619. 5990  GOSUB 7770
  620. 6000  Y$ =INKEY$:IF Y$ =" " THEN 6030
  621. 6010  GOTO 6000
  622. 6020  CLS
  623. 6030  RETURN 2870
  624. 6040  LOCATE 10,9:PRINT " ":LOCATE 10,66:PRINT " "
  625. 6050  LOCATE 15,9:PRINT " ":LOCATE 15,66:PRINT " "
  626. 6060  LOCATE 2,20:PRINT " ":LOCATE 2,55:PRINT " "
  627. 6070  LOCATE 22,20:PRINT " ":LOCATE 22,55:PRINT " "
  628. 6080  CLS
  629. 6090  RETURN
  630. 6100  REM begin quadratic formula subprogram*************************
  631. 6110  GOSUB 6600
  632. 6120  CLS
  633. 6121  COLOR 7,0,0
  634. 6130  LOCATE 5,35:PRINT "M A T H  P A K"
  635. 6140  LOCATE 2,32:COLOR 0,7:PRINT " Quadratic Formula ":COLOR 7,0
  636. 6150  LOCATE 7,26:PRINT "(to exit, type a '0' for 'A')"
  637. 6160  GOSUB 7770
  638. 6170  LOCATE 10,20:PRINT " A =":LOCATE 10,24:BEEP:INPUT A
  639. 6180  IF A = 0 THEN 440
  640. 6190  GOSUB 7770
  641. 6200  LOCATE 12,20:PRINT " B =":LOCATE 12,24:BEEP:INPUT B
  642. 6210  GOSUB 7770
  643. 6220  LOCATE 14,20:PRINT " C =":LOCATE 14,24:BEEP:INPUT C
  644. 6230  GOSUB 7770
  645. 6240  LOCATE 16,10:PRINT "are the values correct(y/n)":LOCATE 16,38:INPUT A$
  646. 6250  IF A$ ="y" OR A$ ="Y" THEN 6280
  647. 6260  IF A$ ="n" OR A$ ="N" THEN 6120
  648. 6270  GOTO 6240
  649. 6280  REM begin quadratic equation calculation******
  650. 6290  FOR T = 10 TO 16 STEP 2
  651. 6300  FOR T1 = 10 TO 45
  652. 6310  LOCATE T,T1:PRINT " ":NEXT T1
  653. 6320  NEXT T
  654. 6330  Y = (B ^ 2)
  655. 6340  Z = 0
  656. 6350  J = Z - B
  657. 6360  LET U = 4 * A * C
  658. 6370  LET I = 2 * A
  659. 6380  LET W = Y - U
  660. 6390  IF W < 0 THEN GOTO 6510
  661. 6400  K = W ^ 0.5
  662. 6410  LET V = (J + K) / I
  663. 6420  LET B3 = (J - K) / I
  664. 6430  LOCATE 10,10:PRINT "for a =";A;" b =";B;" c =";C;"     the roots are"
  665. 6440  LOCATE 12,25:PRINT USING "####.##"; V
  666. 6450  LOCATE 13,25:PRINT USING "####.##";B3
  667. 6460  POKE 106,0
  668. 6470  LOCATE 15,10:PRINT "any further roots to be sought?(y/n)":LOCATE 15,48:INPUT G$
  669. 6480  IF G$ ="y" OR G$ ="Y"  THEN 6120
  670. 6490  IF G$ ="n" OR G$ ="N"  THEN CLS:GOTO 440
  671. 6500  GOTO 6470
  672. 6510  LOCATE 16,20:PRINT "the values of ";A;",";B;",";C;" are causing a negative suare root to take place...press S P A C E  B A R to     resume..."
  673. 6520  GOSUB 7770
  674. 6530  E$ = INKEY$:IF E$ =" " THEN 6120
  675. 6540  GOTO 6530
  676. 6550  REM clear sentence******
  677. 6560  FOR L5 = 10 TO 75:LOCATE 16,L5:PRINT " ":NEXT L5
  678. 6570  FOR L5 = 2 TO 77:LOCATE 17,L5:PRINT " ":NEXT L5
  679. 6580  FOR L5 = 1 TO 50:LOCATE 18,L5:PRINT " ":NEXT L5
  680. 6590  GOTO 6170
  681. 6600  REM begin help section for quadratic formula***************************
  682. 6610  CLS
  683. 6611  COLOR 7,0,0
  684. 6620  LOCATE 2,30:PRINT "Quadratic Equation/Formula"
  685. 6630  FOR T = 0 TO 200:NEXT T
  686. 6640  LOCATE 5,5:PRINT "The quadratic formula is an esential part of mathematics."
  687. 6650  FOR T = 0 TO 200:NEXT T
  688. 6660  LOCATE 7,5:PRINT "By using the formula, two seperate roots can be sought."
  689. 6670  FOR T = 0 TO 150:NEXT T
  690. 6680  LOCATE 8,5:PRINT "Enter the numerical values for each letter(ie. A,B,C)."
  691. 6690  FOR T = 0 TO 150:NEXT T
  692. 6700  LOCATE 10,5:PRINT "If an entry error is made, then simply press 'n' for correct values question."
  693. 6710  FOR T = 0 TO 150:NEXT T
  694. 6720  LOCATE 13,5:PRINT "example: 4x^2  - 5x + 3 = 0"
  695. 6730  FOR T = 0 TO 150:NEXT T
  696. 6740  LOCATE  14,5:PRINT "has A = + 4, B = - 5, and C = + 3"
  697. 6750  FOR T = 0 TO 200:NEXT T
  698. 6760  GOSUB 9600
  699. 6770  GOSUB 7770
  700. 6780  R$ =INKEY$:IF R$ =" " THEN 6800
  701. 6790  GOTO 6780
  702. 6800  RETURN 6120
  703. 6810  REM time test for on the hour time signal****************
  704. 6820  B$ =MID$(TIME$,4,2)
  705. 6830  IF B$ ="00" THEN BEEP
  706. 6840  RETURN
  707. 6850  REM end of hourly chime**********************************
  708. 6860  REM begin area calculations for circle and triangle****************
  709. 6870  KEY OFF
  710. 6880  CLS
  711. 6890  GOSUB 6910
  712. 6900  GOTO 7170
  713. 6910  CLS
  714. 6911  COLOR 7,0,0
  715. 6920  LOCATE 1,5:PRINT "Areas"
  716. 6930  LOCATE 3,20:PRINT "M A T H  P A K"
  717. 6940  FOR T = 0 TO 150:NEXT T
  718. 6950  LOCATE 5,2:PRINT "This section, offers you two selections, area of"
  719. 6960  FOR T = 0 TO 150:NEXT T
  720. 6970  LOCATE 6,2:PRINT "a circle, or area of a triangle."
  721. 6980  FOR T = 0 TO 150:NEXT T
  722. 6990  LOCATE 8,2:PRINT "Make a selection, and then input the needed data..."
  723. 7000  FOR T = 0 TO 150:NEXT T
  724. 7010  LOCATE 10,2:PRINT "For TRIANGLE:"
  725. 7020  FOR T = 0 TO 150:NEXT T
  726. 7030  LOCATE 12,2:PRINT "AREA = 1/2 * BASE * HEIGHT"
  727. 7040  FOR T = 0 TO 150:NEXT T
  728. 7050  LOCATE 15,2:PRINT "For CIRCLE:"
  729. 7060  FOR T = 0 TO 150:NEXT T
  730. 7070  LOCATE 17,2:PRINT "AREA = .7854 * DIAMETER ^ 2  = 3.142 * RADIUS ^ 2"
  731. 7080  FOR T = 0 TO 150:NEXT T
  732. 7090  LOCATE 19,2:PRINT "If diameter is wanted, type a '0' for RADIUS..."
  733. 7100  FOR T = 0 TO 150:NEXT T
  734. 7110  LOCATE 20,2:PRINT "to return to main menu, type a 'x' for selection."
  735. 7120  FOR T = 0 TO 200:NEXT T
  736. 7130  GOSUB 9600
  737. 7140  GOSUB 7770
  738. 7150  A$ = INKEY$: IF A$ =" " THEN RETURN
  739. 7160  GOTO 7150
  740. 7170  CLS
  741. 7180  LOCATE 2,35:COLOR 0,7:PRINT " Areas ":COLOR 7,0
  742. 7190  LOCATE 3,31:PRINT "M A T H  P A K"
  743. 7200  LOCATE 5,20:PRINT "(to exit, type a 'x' for selection)"
  744. 7210  GOSUB 7770
  745. 7220  LOCATE 15,15:PRINT "Area of a Circle(c) or a Triangle(t)":BEEP:LOCATE 15,52:INPUT A$
  746. 7230  IF A$ ="x" OR A$ ="X" THEN CLS:GOTO 440
  747. 7240  IF A$ ="c" OR A$ ="C" THEN 7490
  748. 7250  IF A$ ="t" OR A$ ="T" THEN 7280
  749. 7260  GOTO 7220
  750. 7270  REM begin triangle calculations**************
  751. 7280  CLS
  752. 7281  COLOR 7,0,0
  753. 7290  LOCATE 2,28:COLOR 0,7:PRINT " Area of a TRIANGLE ":COLOR 7,0
  754. 7300  LOCATE 3,30:PRINT "M A T H  P A K"
  755. 7310  LOCATE 5,23:PRINT "(to exit, type a '0' for BASE)"
  756. 7320  GOSUB 7770
  757. 7330  LOCATE 15,10:PRINT "BASE(in inches)":BEEP:LOCATE 15,26:INPUT A
  758. 7340  IF A = 0 THEN GOTO 7170
  759. 7350  IF A < 0 THEN 7330
  760. 7360  GOSUB 7770
  761. 7370  LOCATE 15,35:PRINT "HEIGHT(in inches)":BEEP:LOCATE 15,53:INPUT B
  762. 7380  IF B < 0 THEN 7370
  763. 7390  IF B = 0 THEN 7400 ELSE 7420
  764. 7400  LOCATE 17,25:PRINT "NO HEIGHT, INDICATES A STRAIGHT LINE..."
  765. 7410  GOTO 7450
  766. 7420  C = (A *B) * 0.5
  767. 7430  LOCATE 17,10:PRINT "base of";A;" and a height of ";B;" has a square inch area of"
  768. 7440  LOCATE 18,20:PRINT USING "####.####";C
  769. 7450  LOCATE 20,10:COLOR 15,0:PRINT "press S P A C E  B A R to continue...":COLOR 7,0
  770. 7460  GOSUB 7770
  771. 7470  H$ =INKEY$:IF H$ =" " THEN 7170
  772. 7480  GOTO 7470
  773. 7490  REM begin area of circle calculations*****************
  774. 7500  CLS
  775. 7501  COLOR 7,0,0
  776. 7510  LOCATE 1,28:COLOR 0,7:PRINT " Area of a CIRCLE ":COLOR 7,0
  777. 7520  LOCATE 3,30:PRINT "M A T H  P A K"
  778. 7530  LOCATE 5,20:PRINT "(to exit, type a '0' for DIAMETER)"
  779. 7540  LOCATE 7,16:PRINT"(to get DIAMETER, type a '0' for RADUIS)"
  780. 7550  GOSUB 7770
  781. 7560  LOCATE 15,10:PRINT "RADIUS(in inches)":BEEP:LOCATE 15,29:INPUT A
  782. 7570  IF A = 0 THEN GOTO 7660
  783. 7580  IF A < 0 THEN 7560
  784. 7590  A1 = 3.14159 * (A ^ 2)
  785. 7600  LOCATE 17,15:PRINT "with a radius of ";A;" inches, the square inch area is
  786. 7610  LOCATE 18,20:PRINT USING "######.####";A1
  787. 7620  LOCATE 20,10:COLOR 15,0:PRINT "press S P A C E  B A R to continue...":COLOR 7,0
  788. 7630  GOSUB 7770
  789. 7640  I$ =INKEY$:IF I$ =" " THEN GOTO 7500
  790. 7650  GOTO 7640
  791. 7660  GOSUB 7770
  792. 7670  LOCATE 15,35:PRINT "DIAMETER(in inches)":BEEP:LOCATE 15,55:INPUT E
  793. 7680  IF E = 0 THEN GOTO 7170
  794. 7690  IF E < 0 THEN GOTO 7670
  795. 7700  A2 = 0.7854 * (E ^ 2)
  796. 7710  LOCATE 17,15:PRINT "with a diameter of ";E;" inches, the square inch area is"
  797. 7720  LOCATE 18,20:PRINT USING "######.####";A2
  798. 7730  LOCATE 20,10:COLOR 15,0:PRINT "press S P A C E  B A R to continue...":COLOR 7,0
  799. 7740  GOSUB 7770
  800. 7750  U$ =INKEY$:IF U$ =" " THEN 7500
  801. 7760  GOTO 7750
  802. 7770  REM this subroutine will completely clear the keyboard buffer************
  803. 7780  DEF SEG = 0: POKE 1050, PEEK(1052)
  804. 7790  RETURN
  805. 7800  REM this subroutine will cause a cursor to appear******
  806. 7810  LOCATE ,,1,0,30
  807. 7820  RETURN
  808. 7830  REM BEGIN METRIC/U.S. CONVERSIONS SECTION****************
  809. 7840  GOSUB 9480
  810. 7850  CLS
  811. 7851  COLOR 7,0,0
  812. 7860  LOCATE 1,30:COLOR 0,7:PRINT " Metric/U.S. conversions ":COLOR 7,0
  813. 7870  LOCATE 3,35:PRINT "M A T H  P A K "
  814. 7880  LOCATE 5,20:PRINT "(to exit, type a 'x' for mode selection)"
  815. 7890  LOCATE 10,10:PRINT "mode('U' for U.S.-METRIC;'M' for METRIC-U.S.)":LOCATE 10,57:BEEP:INPUT M$
  816. 7900  IF M$ ="u" OR M$ ="U" THEN CLS:GOTO 8680
  817. 7910  IF M$ ="M" OR M$ ="m" THEN CLS:GOTO 7950
  818. 7920  IF M$ ="X" OR M$ ="x" THEN CLS: GOTO 440
  819. 7930  GOTO 7890
  820. 7940  REM BEGIN METRIC CONVERSION SUBROUTINE***************
  821. 7950  LOCATE 1,30:COLOR 0,7:PRINT " Metric to U.S. conversions ":COLOR 7,0
  822. 7960  LOCATE 5,10:PRINT "1-CENTIMETERS TO INCHES "
  823. 7970  LOCATE 6,10:PRINT "2-METERS TO FEET "
  824. 7980  LOCATE 7,10:PRINT "3-CELSIUS TO FAHRENHEIT TEMPERATURE "
  825. 7990  LOCATE 8,10:PRINT "4-KILOMETERS TO MILES "
  826. 8000  LOCATE 9,10:PRINT "5-LITERS TO U.S. GALLONS "
  827. 8010  LOCATE 10,10:PRINT "6-GRAMS TO OUNCES "
  828. 8020  LOCATE 11,10:PRINT "7-KILOGRAMS TO POUNDS "
  829. 8030  LOCATE 12,10:PRINT "0-EXIT FROM METRIC SECTION "
  830. 8040  LOCATE 15,10:COLOR 15,0:PRINT "ENTER A LINE NUMBER(0-7)":COLOR 7,0:LOCATE 15,35: BEEP:INPUT R1
  831. 8050  FOR R5 = 0 TO 20:NEXT R5:LOCATE 15,37:PRINT "     "
  832. 8060  R = INT(R1)
  833. 8070  IF R = 0 THEN 7850
  834. 8080  IF R > 7 THEN 8040
  835. 8090  IF R < 0 THEN 8040
  836. 8100  IF R = 1 THEN LOCATE 5,10:COLOR 0,7:PRINT "1":COLOR 7,0:GOTO 8190
  837. 8110  IF (R > 0) AND (R < 1) THEN 8040
  838. 8120  IF R = 2 THEN LOCATE 6,10:COLOR 0,7:PRINT "2":COLOR 7,0:GOTO 8260
  839. 8130  IF R = 3 THEN LOCATE 7,10:COLOR 0,7:PRINT "3":COLOR 7,0:GOTO 8330
  840. 8140  IF R = 4 THEN LOCATE 8,10:COLOR 0,7:PRINT "4":COLOR 7,0:GOTO 8400
  841. 8150  IF R = 5 THEN LOCATE 9,10:COLOR 0,7:PRINT "5":COLOR 7,0:GOTO 8470
  842. 8160  IF R = 6 THEN LOCATE 10,10:COLOR 0,7:PRINT "6":COLOR 7,0:GOTO 8540
  843. 8170  IF R = 7 THEN LOCATE 11,10:COLOR 0,7:PRINT "7":COLOR 7,0:GOTO 8610
  844. 8180  GOTO 8050
  845. 8190  LOCATE 17,10:PRINT "How many centimeters":LOCATE 17,31:BEEP:INPUT P
  846. 8200  IF P = 0 THEN 7850
  847. 8210  IF P < 0 THEN 8190
  848. 8220  C = 0.394 * P
  849. 8230  LOCATE 18,10:PRINT P;" cm., equals ";C;" inches."
  850. 8240  GOSUB 9420
  851. 8250  GOTO 7950
  852. 8260  LOCATE 17,10:PRINT "How many meters":LOCATE 17,27:BEEP:INPUT P
  853. 8270  IF P = 0 THEN 7850
  854. 8280  IF P < 0 THEN 8260
  855. 8290  C = 3.281 * P
  856. 8300  LOCATE 18,10:PRINT P;"meter(s) equals ";C;" feet."
  857. 8310  GOSUB 9420
  858. 8320  GOTO 7950
  859. 8330  LOCATE 17,10:PRINT "How many degrees(C)":LOCATE 17,30:BEEP:INPUT P
  860. 8340  IF P = 0 THEN 7850
  861. 8350  IF P < 0 THEN 8330
  862. 8360  C = ((9 /5) * P) + 32
  863. 8370  LOCATE 18,10:PRINT P;" degrees(C) equals ";C;" degrees(F)."
  864. 8380  GOSUB 9420
  865. 8390  GOTO 7950
  866. 8400  LOCATE 17,10:PRINT "How many kilometers":LOCATE 17,31:BEEP:INPUT P
  867. 8410  IF P = 0 THEN 7850
  868. 8420  IF P < 0 THEN 8400
  869. 8430  C = 0.621 * P
  870. 8440  LOCATE 18,10:PRINT P;" kilometer(s) equals ";C;" miles."
  871. 8450  GOSUB 9420
  872. 8460  GOTO 7950
  873. 8470  LOCATE 17,10:PRINT "How many liters":LOCATE 17,26:BEEP:INPUT P
  874. 8480  IF P = 0 THEN 7850
  875. 8490  IF P < 0 THEN 8470
  876. 8500  C = 0.264 * P
  877. 8510  LOCATE 18,10:PRINT P;" liter(s) equals ";C;" U.S. gallons."
  878. 8520  GOSUB 9420
  879. 8530  GOTO 7950
  880. 8540  LOCATE 17,10:PRINT "How many grams":LOCATE 17,25:BEEP:INPUT P
  881. 8550  IF P = 0 THEN 7850
  882. 8560  IF P < 0 THEN 8540
  883. 8570  C = 0.035 * P
  884. 8580  LOCATE 18,10:PRINT P;" gram(s) equals ";C;" ounces."
  885. 8590  GOSUB 9420
  886. 8600  GOTO 7950
  887. 8610  LOCATE 17,10:PRINT "How many kilograms":LOCATE 17,29:BEEP:INPUT P
  888. 8620  IF P = 0 THEN 7850
  889. 8630  IF P < 0 THEN 8610
  890. 8640  C = 2.205 * P
  891. 8650  LOCATE 18,10:PRINT P;" kilogram(s) equals ";C;" pounds."
  892. 8660  GOSUB 9420
  893. 8670  GOTO 7950
  894. 8680  REM begin U.S. TO METRIC CONVERSIONS***************************
  895. 8690  LOCATE 1,30:COLOR 0,7:PRINT " U.S. to Metric conversions ":COLOR 7,0
  896. 8700  LOCATE 5,10:PRINT "1-INCHES TO CENTIMETERS "
  897. 8710  LOCATE 6,10:PRINT "2-FEET TO METERS "
  898. 8720  LOCATE 7,10:PRINT "3-FAHRENHEIT TO CELSIUS TEMPERATURE"
  899. 8730  LOCATE 8,10:PRINT "4-MILES TO KILOMETERS "
  900. 8740  LOCATE 9,10:PRINT "5-U.S. GALLONS TO LITERS "
  901. 8750  LOCATE 10,10:PRINT "6-OUNCES TO GRAMS "
  902. 8760  LOCATE 11,10:PRINT "7-POUNDS TO KILOGRAMS "
  903. 8770  LOCATE 12,10:PRINT "0-EXIT FROM U.S. SECTION "
  904. 8780  LOCATE 15,10:COLOR 15,0:PRINT "ENTER A LINE NUMBER(0-7)":COLOR 7,0:LOCATE 15,35:BEEP:INPUT R1
  905. 8790  FOR R5 = 0 TO 20:NEXT R5:LOCATE 15,37:PRINT "     "
  906. 8800  R = INT(R1)
  907. 8810  IF R = 0 THEN 7850
  908. 8820  IF R < 0 THEN 8780
  909. 8830  IF R > 7 THEN 8780
  910. 8840  IF (R > 0) AND (R < 1) THEN 8780
  911. 8850  IF R = 1 THEN LOCATE 5,10:COLOR 0,7:PRINT "1":COLOR 7,0:GOTO 8930
  912. 8860  IF R = 2 THEN LOCATE 6,10:COLOR 0,7:PRINT "2":COLOR 7,0:GOTO 9000
  913. 8870  IF R = 4 THEN LOCATE 8,10:COLOR 0,7:PRINT "4":COLOR 7,0:GOTO 9070
  914. 8880  IF R = 5 THEN LOCATE 9,10:COLOR 0,7:PRINT "5":COLOR 7,0:GOTO 9140
  915. 8890  IF R = 6 THEN LOCATE 10,10:COLOR 0,7:PRINT "6":COLOR 7,0:GOTO 9210
  916. 8900  IF R = 7 THEN LOCATE 11,10:COLOR 0,7:PRINT "7":COLOR 7,0:GOTO 9280
  917. 8910  IF R = 3 THEN LOCATE 7,10:COLOR 0,7:PRINT "3":COLOR 7,0:GOTO 9350
  918. 8920  GOTO 8780
  919. 8930  LOCATE 17,10:PRINT "How many inches":LOCATE 17,27:BEEP:INPUT P
  920. 8940  IF P = 0 THEN 7850
  921. 8950  IF P < 0 THEN 8930
  922. 8960  C = 2.54 * P
  923. 8970  LOCATE 18,10:PRINT P;" inch(es) equals ";C;" centimeters."
  924. 8980  GOSUB 9420
  925. 8990  GOTO 8690
  926. 9000  LOCATE 17,10:PRINT "How many feet":LOCATE 17,25:BEEP:INPUT P
  927. 9010  IF P = 0 THEN 7850
  928. 9020  IF P < 0 THEN 9000
  929. 9030  C = 0.3048 * P
  930. 9040  LOCATE 18,10:PRINT P;" feet equals ";C;" meters."
  931. 9050  GOSUB 9420
  932. 9060  GOTO 8690
  933. 9070  LOCATE 17,10:PRINT "How many miles":LOCATE 17,25:BEEP:INPUT P
  934. 9080  IF P = 0 THEN 7850
  935. 9090  IF P < 0 THEN 9070
  936. 9100  C = 1.609 * P
  937. 9110  LOCATE 18,10:PRINT P;" mile(s) equals ";C;" kilometers."
  938. 9120  GOSUB 9420
  939. 9130  GOTO 8690
  940. 9140  LOCATE 17,10:PRINT "How many U.S. Gallons":LOCATE 17,34:BEEP:INPUT P
  941. 9150  IF P = 0 THEN 7850
  942. 9160  IF P < 0 THEN 9140
  943. 9170  C = 3.785 * P
  944. 9180  LOCATE 18,10:PRINT P;" U.S. gallon(s) equals ";C;" liters."
  945. 9190  GOSUB 9420
  946. 9200  GOTO 8690
  947. 9210  LOCATE 17,10:PRINT "How many ounces":LOCATE 17,26:BEEP:INPUT P
  948. 9220  IF P = 0 THEN 7850
  949. 9230  IF P < 0 THEN 9210
  950. 9240  C = 28.349 * P
  951. 9250  LOCATE 18,10:PRINT P;" ounce(s) equals ";C;" grams."
  952. 9260  GOSUB 9420
  953. 9270  GOTO 8690
  954. 9280  LOCATE 17,10:PRINT "How many pounds":LOCATE 17,25:BEEP:INPUT P
  955. 9290  IF P = 0 THEN 7850
  956. 9300  IF P < 0 THEN 9280
  957. 9310  C = 0.4536 * P
  958. 9320  LOCATE 18,10:PRINT P;" pound(s) equals ";C;" kilograms."
  959. 9330  GOSUB 9420
  960. 9340  GOTO 8690
  961. 9350  LOCATE 17,10:PRINT "How many degrees(F)":LOCATE 17,30:BEEP:INPUT P
  962. 9360  IF P = 0 THEN 7850
  963. 9370  IF P < 0 THEN 9350
  964. 9380  C = ((5 * P) - 160) / 9
  965. 9390  LOCATE 18,10:PRINT P;" degrees(F) equals ";C;" degrees(C)."
  966. 9400  GOSUB 9420
  967. 9410  GOTO 8690
  968. 9420  GOSUB 9600
  969. 9430  U$ = INKEY$
  970. 9440  IF U$ = CHR$(32) THEN GOTO 9460
  971. 9450  GOTO 9430
  972. 9460  CLS
  973. 9470  RETURN
  974. 9480  CLS
  975. 9490  LOCATE 1,25:PRINT "M E T R I C  C O N V E R S I O N S"
  976. 9500  LOCATE 5,2:PRINT " This section of M A T H  P A K, will let you find METRIC values "
  977. 9510  LOCATE 6,2:PRINT "from U.S. values and from U.S. to METRIC values."
  978. 9520  LOCATE 8,2:PRINT " Select the proper mode and then enter the proper line number."
  979. 9530  LOCATE 9,2:PRINT " To exit at any time to main section(of METRIC SECTION), simply enter a '0'"
  980. 9540  LOCATE 10,2:PRINT "as a value."
  981. 9550  GOSUB 9600
  982. 9560  LOCATE 24,1
  983. 9570  Q$ = INKEY$: IF Q$ = " " THEN 9590
  984. 9580  GOTO 9570
  985. 9590  RETURN
  986. 9600  COLOR 7,0:LOCATE 23,20:COLOR 15,0:PRINT CHR$(16):COLOR 7,0:LOCATE 23,23:PRINT "PRESS THE S P A C E  B A R  TO CONTINUE":LOCATE 23,64:COLOR 15,0:PRINT CHR$(17):COLOR 7,0
  987. 9610  RETURN
  988.